<html>
<body>
Reports any variables which may be declared with a weaker type. For instance,
a variable may be of type <b>ArrayList</b>, and only the method
<b>isEmpty()</b> is called on it. In this case the type
<b>List</b> would do just as well.
<!-- tooltip end -->
<p>
Enable the first checkbox below to prevent weakening the left side of assignments when the right side is not
a type cast or new expression. When storing the result of a method call in a variable, it is
useful to retain the type of the method call result instead of unnecessarily weakening it.
<p>
Enable the second checkbox below to use the parameterized type of the collection as weakest type when
the object evaluated is used as an argument to a collection method with a parameter type of
<b>java.lang.Object</b>. Use this option to prevent weakening to
<b>Object</b> when passing an object to the collection methods
<b>get()</b>, <b>remove()</b>,
<b>contains()</b>, <b>indexOf()</b>,
<b>lastIndexOf()</b>, <b>containsKey()</b>
and <b>containsValue()</b>.
<p>
Use the third checkbox below to specify if this inspection should warn when a type can be
weakened to <b>java.lang.Object</b>. Weakening to
<b>java.lang.Object</b> is often not very useful.
<p>
Use the fourth checkbox below to only report when the type can be weakened to an interface type.
<p>

</body>
</html>